package day11;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * @author yt1105
 * @version 1.0
 */
public class BigIntergerAndBigDecimal {
    public static void main(String[] args) {
        long l = 12312313;
        long l2 = 12131231;
        //BigInterger
        BigInteger bigInteger = new BigInteger("123132132132123231231323213213212133212121332121332121132112123123213213213");
        System.out.println(bigInteger);
        BigInteger bigInteger1 = new BigInteger("1211213");
        //1.如何进行加减乘除进行运算处理时候，需要使用对应的方法，不能直接进行加减乘除运算，我们要进行的是方法直接的加减乘除
        //也就是说多大的数据都可以
        System.out.println(bigInteger.add(bigInteger1));
        //
        System.out.println(bigInteger.subtract(bigInteger1));
        System.out.println(bigInteger.multiply(bigInteger1));
        System.out.println(bigInteger.divide(bigInteger1));
        //BigDecimal是用于保存我们的精度很高的数时 我们会发现double根本就不够用
        BigDecimal bigDecimal = new BigDecimal("123123213.12121212121212313232112131312312321231232132131232131231231213");
        //对我们的bigdecimal进行加减的话 我们必须采取的是调用相应的方法才行。
        BigDecimal bigDecimal1 = new BigDecimal("1212.22222222121212121");
        System.out.println(bigDecimal.multiply(bigDecimal1));
        //如果有无限循环小数的话，就会保留分子的精度
        System.out.println(bigDecimal.divide(bigDecimal1, BigDecimal.ROUND_CEILING));//注意就是如果是无限循环的话,可能会抛出异常出来的

    }
}
